智算弱电学习系统
课程概览AI 基础认知Prompt Engineering 系统指南

Prompt Engineering 系统指南

Prompt Engineering 是 AI 产品经理的「新编程语言」。你不需要调整模型权重,但你需要精确地告诉模型做什么、怎么做——这种能力直接决定了 AI 功能的实际效果与用户体验质量。


1. Prompt Engineering 的本质

Prompt Engineering 是通过设计输入文本(Prompt)来引导大语言模型产生期望输出的技术与方法论。

它不是「魔法咒语」,而是与模型的结构化沟通。好的 Prompt 本质上是:

上下文 + 任务描述 + 约束条件 + 输出格式 + 示例(可选)

为什么重要:同样的模型,优秀 Prompt 与糟糕 Prompt 的输出质量差距可达数倍。许多「AI 能力不足」的产品问题,根源是 Prompt 设计问题而非模型问题。


2. 基础提示策略

2.1 零样本提示(Zero-shot Prompting)

直接描述任务,不提供示例。

【Zero-shot 示例】
将以下用户评论分类为「正面」「负面」「中性」:
"这款产品功能不错,但价格偏高,考虑一下再买。"

适用场景:通用任务、模型已熟悉的领域 局限:对于专业、小众或格式要求严格的任务,效果不稳定

2.2 少样本提示(Few-shot Prompting)

提供 3-5 个示例,让模型「举一反三」。

【Few-shot 示例】
将评论分类为「正面」「负面」「中性」:

评论:"物超所值,下次还买!"
分类:正面

评论:"质量太差,买了就后悔。"
分类:负面

评论:"普通,没什么特别的。"
分类:中性

评论:"配送很快,产品也符合描述,满意!"
分类:

最佳实践

  • 示例要覆盖边界情况,不要全是简单例子
  • 示例格式要与期望输出格式一致
  • 3-5 个示例通常最优,过多会占用 Context Window

2.3 思维链提示(Chain-of-Thought,CoT)

引导模型「展示推理步骤」,显著提升复杂推理任务的准确率。

【标准 CoT:在提示末尾加「让我们一步步思考」】

一家咖啡店早上卖出 35 杯咖啡,下午卖出比早上多 20%,
晚上卖出下午的一半。全天共卖出多少杯?
让我们一步步思考:
【模型输出】
早上:35 杯
下午:35 × 1.2 = 42 杯
晚上:42 ÷ 2 = 21 杯
全天:35 + 42 + 21 = 98 杯

进阶:Few-shot CoT——提供包含推理步骤的示例,效果更佳。

注意:CoT 对 100B+ 参数的大模型效果显著,对小模型(<7B)提升有限。


3. System Prompt 设计

3.1 什么是 System Prompt

在 GPT/Claude API 中,System Prompt 是对话开始前给模型设定的「系统级指令」,优先级高于用户消息,且用户通常不可见。

# API 调用结构示例
messages = [
    {
        "role": "system",
        "content": "你是一位专业的产品经理助手,专注于 B2B SaaS 领域..."
    },
    {
        "role": "user",
        "content": "帮我写一份竞品分析报告框架"
    }
]

3.2 System Prompt 模板

# 角色定义
你是 [具体角色],具备 [核心专业能力]。

# 任务范围
你的职责是 [可以做什么]。
你不应该 [明确禁止项]。

# 行为准则
- [准则1]
- [准则2]
- [准则3]

# 输出格式
[期望的输出格式说明]

# 语气风格
[正式/轻松/专业/友好 等]

3.3 真实案例:客服机器人 System Prompt

你是「极光智能」的客服助手小光。

【能力范围】
- 解答产品使用问题
- 协助处理退换货申请
- 提供订单状态查询引导

【行为规则】
- 始终用礼貌、温暖的语气
- 无法解决的问题,引导用户联系人工客服(电话:400-xxx-xxxx)
- 不评价竞品,不承诺具体赔偿金额
- 涉及用户隐私(手机号、订单)只做脱敏确认,不完整展示

【输出格式】
回答简洁(100字以内),必要时用序号分步说明。
每次回复结尾询问:「请问还有其他可以帮助您的吗?」

4. 高级技巧

4.1 角色扮演(Role Prompting)

赋予模型特定角色,能激活其该角色相关的「知识模式」。

你是一位有 15 年经验的风险投资人,曾投资过多家 AI 独角兽。
请从你的视角,评估以下 AI 创业项目的商业可行性:
[项目描述]

效果:角色越具体、越专业,模型响应质量越高。

4.2 输出格式控制

请分析以下文章的情感倾向,用 JSON 格式返回结果:
{
  "sentiment": "positive/negative/neutral",
  "confidence": 0-1之间的数值,
  "key_phrases": ["关键短语1", "关键短语2"],
  "summary": "一句话总结"
}

文章内容:[文章]

技巧

  • 提供 JSON Schema 或示例结构,强制格式化输出
  • 在 Claude/GPT-4 中可使用 response_format: {"type": "json_object"} 参数
  • 需要表格时,直接说「以 Markdown 表格格式输出」

4.3 约束与护栏(Guardrails)

规则:
1. 只回答与[产品领域]相关的问题
2. 如果用户问及竞争对手,礼貌地转移话题
3. 不生成任何个人信息、联系方式
4. 如果不确定,说「我需要确认一下」,而不是猜测

4.4 自我验证(Self-Verification)

请完成以下任务,并在最后检查你的答案是否满足所有要求:
[任务描述]

完成后,请对照以下清单自检:
□ 字数在 200-300 字之间
□ 包含至少 3 个具体数据点
□ 没有使用专业术语(面向普通用户)
□ 结尾有行动号召(Call to Action)

5. 常见误区与陷阱

5.1 误区一:越长越好

❌ 错误:写了 500 字描述背景,然后提出问题
✅ 正确:先说任务,再给必要背景

研究表明,过长的 Prompt 中,关键指令被「淹没」反而效果变差,尤其在 Prompt 中间的内容容易被忽视(Lost in the Middle 现象)。

5.2 误区二:否定式指令

❌ 错误:不要用复杂词汇,不要写太长,不要偏离主题
✅ 正确:使用初中生能理解的词汇,控制在150字以内,聚焦于[主题]

模型对「不要做什么」的理解不如「做什么」稳定。

5.3 误区三:假设模型有上下文记忆

❌ 错误:在第 10 轮对话中说「按之前说的格式」
✅ 正确:每次需要格式时重新说明,或在 System Prompt 中固定

每次 API 调用是独立的,对话历史需要显式传入,且受 Context Window 限制。

5.4 误区四:忽视模型差异

特点GPT-4oClaude 3.5 Sonnet
指令跟随极强
创意写作更自然
代码生成
格式遵循较好非常好
拒绝倾向中等较高(安全优先)
幻觉率中等较低

同一个 Prompt 在不同模型上可能需要调整。


6. Prompt 工程化流程

6.1 从原型到生产

阶段一:探索(Exploration)
→ 在 ChatGPT/Claude 界面手动测试
→ 快速迭代,找到有效方向

阶段二:结构化(Structuring)
→ 将成功的 Prompt 模板化
→ 提取变量(用 {变量名} 标记)

阶段三:测试(Testing)
→ 准备 20-50 个测试用例(覆盖正常、边界、异常场景)
→ 批量评估输出质量

阶段四:监控(Monitoring)
→ 生产环境中记录 Prompt-Response 对
→ 定期抽样人工审核
→ 发现分布漂移时更新 Prompt

6.2 Prompt 版本管理

像管理代码一样管理 Prompt:

# prompt_config.yaml
version: "2.3.1"
last_updated: "2024-01-15"
author: "产品团队"
description: "客服机器人主 Prompt"
changelog:
  - "2.3.1: 增加退款场景处理"
  - "2.3.0: 优化语气,减少机械感"
  - "2.2.0: 添加多语言支持"

system_prompt: |
  [Prompt 内容]

test_cases:
  - input: "我的订单在哪里"
    expected_contains: ["订单号", "查询"]

7. 产品经理实战清单

在为产品功能设计 Prompt 时,逐项检查:

【Prompt 设计检查清单】

□ 角色:是否明确了模型扮演的角色和专业背景?
□ 任务:是否用肯定句清晰描述了期望输出?
□ 格式:是否指定了输出格式(JSON/Markdown/纯文本)?
□ 约束:是否列出了关键的行为边界和禁止项?
□ 示例:对于非标准任务,是否提供了 2-3 个 Few-shot 示例?
□ 长度:Prompt 是否精简?有没有可删除的冗余信息?
□ 测试:是否用至少 10 个真实用例验证了效果?
□ 护栏:是否考虑了用户绕过指令的恶意输入场景?
□ 版本:Prompt 是否已记录版本和变更记录?
□ 监控:生产环境是否有输出质量监控机制?

8. 本节要点

  1. Prompt Engineering 是结构化沟通:上下文、任务、约束、格式、示例五要素缺一不可。
  2. Few-shot > Zero-shot:对于专业任务,提供高质量示例是最快提升效果的方法。
  3. 思维链(CoT)解锁复杂推理:让模型展示步骤,准确率大幅提升。
  4. System Prompt 是产品 AI 能力的护城河:精心设计的系统提示决定了产品的 AI 个性和能力边界。
  5. 用肯定句、指定格式、避免「不要」:三条黄金写法原则。
  6. 生产级 Prompt 需要版本管理和监控:Prompt 是产品的一部分,需要像代码一样维护。